package org.ix.dynamicapis.presentation.mapper;

import org.ix.dynamicapis.presentation.condition.ApiMultiConfigSelectCondition;
import org.ix.dynamicapis.presentation.condition.ApiMultiConfigUpdateCondition;
import org.ix.dynamicapis.presentation.entity.ApiMultiConfigEntity;
import org.ix.dynamicapis.presentation.entity.ApiMultiConfigEntityExt;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;

/**
 * 多主键测试数据访问
 *
 * @author 郗世豪（rarexixi@gmail.com）
 */
@Mapper
public interface ApiMultiConfigMapper extends BaseMapper<ApiMultiConfigEntity, ApiMultiConfigEntityExt, ApiMultiConfigUpdateCondition, ApiMultiConfigSelectCondition> {

    /**
     * 根据ConfigKey, ConfigType获取多主键测试详情
     *
     * @param configKey ConfigKey
     * @param configType ConfigType
     * @return 多主键测试详情
     * @author 郗世豪（rarexixi@gmail.com）
     */
    ApiMultiConfigEntityExt detail(@Param("configKey") String configKey, @Param("configType") Integer configType);

    /**
     * 批量添加多主键测试
     *
     * @param list 多主键测试列表
     * @return 受影响的行数
     * @author 郗世豪（rarexixi@gmail.com）
     */
    int batchInsert(@Param("list") Collection<ApiMultiConfigEntity> list);
}
